<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
 <head><title>Ocamlary (Ocamlary)</title><meta charset="utf-8"/>
  <link rel="stylesheet" href="odoc.css"/>
  <meta name="generator" content="odoc 2.4.1"/>
  <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
  <script src="highlight.pack.js"></script>
  <script>hljs.initHighlightingOnLoad();</script>
 </head>
 <body class="odoc">
  <header class="odoc-preamble">
   <h1>Module <code><span>Ocamlary</span></code></h1>
   <p>This is an <i>interface</i> with <b>all</b> of the 
    <em>module system</em> features. This documentation demonstrates:
   </p>
   <ul><li>comment formatting</li><li>unassociated comments</li>
    <li>documentation sections</li>
    <li><p>module system documentation including</p>
     <ol><li>submodules</li><li>module aliases</li><li>module types</li>
      <li>module type aliases</li><li>modules with signatures</li>
      <li>modules with aliased signatures</li>
     </ol>
    </li>
   </ul><p>A numbered list:</p><ol><li>3</li><li>2</li><li>1</li></ol>
   <p>David Sheets is the author.</p>
   <ul class="at-tags">
    <li class="author"><span class="at-tag">author</span> David Sheets</li>
   </ul>
  </header>
  <nav class="odoc-toc">
   <ul>
    <li><a href="#level-1">Level 1</a>
     <ul>
      <li><a href="#level-2">Level 2</a>
       <ul>
        <li><a href="#level-3">Level 3</a>
         <ul><li><a href="#level-4">Level 4</a></li></ul>
        </li><li><a href="#basic-module-stuff">Basic module stuff</a></li>
       </ul>
      </li>
     </ul>
    </li>
    <li><a href="#s9000">Section 9000</a>
     <ul><li><a href="#emptySig">EmptySig</a></li>
      <li><a href="#basic-exception-stuff">Basic exception stuff</a></li>
      <li>
       <a href="#basic-type-and-value-stuff-with-advanced-doc-comments">
        Basic type and value stuff with advanced doc comments
       </a>
      </li><li><a href="#some-operators">Some Operators</a></li>
      <li><a href="#advanced-module-stuff">Advanced Module Stuff</a></li>
      <li><a href="#advanced-type-stuff">Advanced Type Stuff</a></li>
     </ul>
    </li>
    <li><a href="#indexmodules">Trying the {!modules: ...} command.</a>
     <ul>
      <li>
       <a href="#weirder-usages-involving-module-types">Weirder usages
         involving module types
       </a>
      </li>
     </ul>
    </li>
    <li>
     <a href="#playing-with-@canonical-paths">Playing with @canonical paths
     </a>
    </li><li><a href="#aliases">Aliases again</a></li>
    <li><a href="#section-title-splicing">Section title splicing</a></li>
    <li><a href="#new-reference-syntax">New reference syntax</a></li>
    <li><a href="#unresolved-references">Unresolved references</a></li>
   </ul>
  </nav>
  <div class="odoc-content">
   <p>You may find more information about this HTML documentation renderer
     at 
    <a href="https://github.com/dsheets/ocamlary">github.com/dsheets/ocamlary
    </a>.
   </p><p>This is some verbatim text:</p><pre>verbatim</pre>
   <p>This is some verbatim text:</p><pre>[][df[]]}}</pre>
   <p>Here is some raw LaTeX: </p>
   <p>Here is an index table of <code>Empty</code> modules:</p>
   <ul class="modules">
    <li><a href="Ocamlary-Empty.html"><code>Empty</code></a> 
     <span class="synopsis">A plain, empty module</span>
    </li>
    <li><a href="Ocamlary-Empty.html"><code>EmptyAlias</code></a> 
     <span class="synopsis">A plain module alias of <code>Empty</code></span>
    </li>
   </ul><p>Odoc doesn't support <code>{!indexlist}</code>.</p>
   <p>Here is some superscript: x<sup>2</sup></p>
   <p>Here is some subscript: x<sub>0</sub></p>
   <p>Here are some escaped brackets: { [ @ ] }</p>
   <p>Here is some <em>emphasis</em> <code>followed by code</code>.</p>
   <p>An unassociated comment</p>
   <h2 id="level-1"><a href="#level-1" class="anchor"></a>Level 1</h2>
   <h3 id="level-2"><a href="#level-2" class="anchor"></a>Level 2</h3>
   <h4 id="level-3"><a href="#level-3" class="anchor"></a>Level 3</h4>
   <h5 id="level-4"><a href="#level-4" class="anchor"></a>Level 4</h5>
   <h4 id="basic-module-stuff">
    <a href="#basic-module-stuff" class="anchor"></a>Basic module stuff
   </h4>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Empty">
     <a href="#module-Empty" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Empty.html">Empty</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div><div class="spec-doc"><p>A plain, empty module</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-Empty">
     <a href="#module-type-Empty" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-Empty.html">Empty</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
    <div class="spec-doc"><p>An ambiguous, misnamed module type</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-MissingComment">
     <a href="#module-type-MissingComment" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-MissingComment.html">MissingComment</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
    <div class="spec-doc"><p>An ambiguous, misnamed module type</p></div>
   </div><h2 id="s9000"><a href="#s9000" class="anchor"></a>Section 9000</h2>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-EmptyAlias">
     <a href="#module-EmptyAlias" class="anchor"></a>
     <code><span><span class="keyword">module</span> EmptyAlias</span>
      <span> = <a href="Ocamlary-Empty.html">Empty</a></span>
     </code>
    </div>
    <div class="spec-doc"><p>A plain module alias of <code>Empty</code></p>
    </div>
   </div>
   <h4 id="emptySig"><a href="#emptySig" class="anchor"></a>EmptySig</h4>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-EmptySig">
     <a href="#module-type-EmptySig" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-EmptySig.html">EmptySig</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div><div class="spec-doc"><p>A plain, empty module signature</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-EmptySigAlias">
     <a href="#module-type-EmptySigAlias" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> EmptySigAlias
      </span>
      <span> = <a href="Ocamlary-module-type-EmptySig.html">EmptySig</a>
      </span>
     </code>
    </div>
    <div class="spec-doc"><p>A plain, empty module signature alias of</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-ModuleWithSignature">
     <a href="#module-ModuleWithSignature" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-ModuleWithSignature.html">ModuleWithSignature</a>
      </span>
      <span> : <a href="Ocamlary-module-type-EmptySig.html">EmptySig</a>
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p>A plain module of a signature of 
      <a href="Ocamlary-module-type-EmptySig.html"><code>EmptySig</code></a>
       (reference)
     </p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-ModuleWithSignatureAlias">
     <a href="#module-ModuleWithSignatureAlias" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-ModuleWithSignatureAlias.html">
        ModuleWithSignatureAlias
       </a>
      </span>
      <span> : <a href="Ocamlary-module-type-EmptySig.html">EmptySigAlias</a>
      </span>
     </code>
    </div>
    <div class="spec-doc"><p>A plain module with an alias signature</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-One">
     <a href="#module-One" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-One.html">One</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-SigForMod">
     <a href="#module-type-SigForMod" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-SigForMod.html">SigForMod</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p>There's a signature in a module in this signature.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-SuperSig">
     <a href="#module-type-SuperSig" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-SuperSig.html">SuperSig</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <p>For a good time, see 
    <a href="Ocamlary-module-type-SuperSig-module-type-SubSigA.html#subSig">
     <code>subSig</code>
    </a> or 
    <a href="Ocamlary-module-type-SuperSig-module-type-SubSigB.html#subSig">
     <code>subSig</code>
    </a> or 
    <a href="Ocamlary-module-type-SuperSig-module-type-EmptySig.html">
     <code>SuperSig.EmptySig</code>
    </a>. Section <a href="#s9000" title="s9000">Section 9000</a> is 
    also interesting. <a href="#emptySig" title="emptySig">EmptySig</a>
     is the section and 
    <a href="Ocamlary-module-type-EmptySig.html"><code>EmptySig</code></a>
     is the module signature.
   </p>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Buffer">
     <a href="#module-Buffer" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Buffer.html">Buffer</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p>References are resolved after everything, so <code>{!Buffer.t}</code>
       won't resolve.
     </p>
    </div>
   </div><p>Some text before exception title.</p>
   <h4 id="basic-exception-stuff">
    <a href="#basic-exception-stuff" class="anchor"></a>Basic exception
     stuff
   </h4><p>After exception title.</p>
   <div class="odoc-spec">
    <div class="spec exception anchored" id="exception-Kaboom">
     <a href="#exception-Kaboom" class="anchor"></a>
     <code><span><span class="keyword">exception</span> </span>
      <span><span class="exception">Kaboom</span> 
       <span class="keyword">of</span> unit
      </span>
     </code>
    </div><div class="spec-doc"><p>Unary exception constructor</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec exception anchored" id="exception-Kablam">
     <a href="#exception-Kablam" class="anchor"></a>
     <code><span><span class="keyword">exception</span> </span>
      <span><span class="exception">Kablam</span> 
       <span class="keyword">of</span> unit * unit
      </span>
     </code>
    </div><div class="spec-doc"><p>Binary exception constructor</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec exception anchored" id="exception-Kapow">
     <a href="#exception-Kapow" class="anchor"></a>
     <code><span><span class="keyword">exception</span> </span>
      <span><span class="exception">Kapow</span> 
       <span class="keyword">of</span> unit * unit
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p>Unary exception constructor over binary tuple</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec exception anchored" id="exception-EmptySig">
     <a href="#exception-EmptySig" class="anchor"></a>
     <code><span><span class="keyword">exception</span> </span>
      <span><span class="exception">EmptySig</span></span>
     </code>
    </div>
    <div class="spec-doc">
     <p>
      <a href="Ocamlary-module-type-EmptySig.html"><code>EmptySig</code></a>
       is a module and 
      <a href="#exception-EmptySig"><code>EmptySig</code></a> is this
       exception.
     </p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec exception anchored" id="exception-EmptySigAlias">
     <a href="#exception-EmptySigAlias" class="anchor"></a>
     <code><span><span class="keyword">exception</span> </span>
      <span><span class="exception">EmptySigAlias</span></span>
     </code>
    </div>
    <div class="spec-doc">
     <p><a href="#exception-EmptySigAlias"><code>EmptySigAlias</code></a>
       is this exception.
     </p>
    </div>
   </div>
   <h4 id="basic-type-and-value-stuff-with-advanced-doc-comments">
    <a href="#basic-type-and-value-stuff-with-advanced-doc-comments"
     class="anchor">
    </a>Basic type and value stuff with advanced doc comments
   </h4>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-a_function">
     <a href="#type-a_function" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>('a, 'b) a_function</span>
      </span>
      <span> = 
       <span><span class="type-var">'a</span> 
        <span class="arrow">&#45;&gt;</span>
       </span> <span class="type-var">'b</span>
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p><a href="#type-a_function"><code>a_function</code></a> is this
       type and <a href="#val-a_function"><code>a_function</code></a>
       is the value below.
     </p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-a_function">
     <a href="#val-a_function" class="anchor"></a>
     <code>
      <span><span class="keyword">val</span> a_function : 
       <span><span class="label">x</span>:int 
        <span class="arrow">&#45;&gt;</span>
       </span> int
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p>This is <code>a_function</code> with param and return type.</p>
     <ul class="at-tags">
      <li class="parameter"><span class="at-tag">parameter</span> 
       <span class="value">x</span> <p>the <code>x</code> coordinate</p>
      </li>
     </ul>
     <ul class="at-tags">
      <li class="returns"><span class="at-tag">returns</span> 
       <p>the <code>y</code> coordinate</p>
      </li>
     </ul>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-fun_fun_fun">
     <a href="#val-fun_fun_fun" class="anchor"></a>
     <code>
      <span><span class="keyword">val</span> fun_fun_fun : 
       <span>
        <span>(
         <span><span>(int, int)</span> 
          <a href="#type-a_function">a_function</a>
         </span>, 
         <span><span>(unit, unit)</span> 
          <a href="#type-a_function">a_function</a>
         </span>)
        </span> <a href="#type-a_function">a_function</a>
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-fun_maybe">
     <a href="#val-fun_maybe" class="anchor"></a>
     <code>
      <span><span class="keyword">val</span> fun_maybe : 
       <span><span class="optlabel">?yes</span>:unit 
        <span class="arrow">&#45;&gt;</span>
       </span> <span>unit <span class="arrow">&#45;&gt;</span></span>
        int
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-not_found">
     <a href="#val-not_found" class="anchor"></a>
     <code>
      <span><span class="keyword">val</span> not_found : 
       <span>unit <span class="arrow">&#45;&gt;</span></span> unit
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <ul class="at-tags">
      <li class="raises"><span class="at-tag">raises</span> 
       <code>Not_found</code> <p>That's all it does</p>
      </li>
     </ul>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-kaboom">
     <a href="#val-kaboom" class="anchor"></a>
     <code>
      <span><span class="keyword">val</span> kaboom : 
       <span>unit <span class="arrow">&#45;&gt;</span></span> unit
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <ul class="at-tags">
      <li class="raises"><span class="at-tag">raises</span> 
       <a href="#exception-Kaboom"><code>Kaboom</code></a> 
       <p>That's all it does</p>
      </li>
     </ul>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-ocaml_org">
     <a href="#val-ocaml_org" class="anchor"></a>
     <code><span><span class="keyword">val</span> ocaml_org : string</span>
     </code>
    </div>
    <div class="spec-doc">
     <ul class="at-tags">
      <li class="see"><span class="at-tag">see</span> 
       <a href="http://ocaml.org/" class="value">http://ocaml.org/</a>
        <p>The OCaml Web site</p>
      </li>
     </ul>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-some_file">
     <a href="#val-some_file" class="anchor"></a>
     <code><span><span class="keyword">val</span> some_file : string</span>
     </code>
    </div>
    <div class="spec-doc">
     <ul class="at-tags">
      <li class="see"><span class="at-tag">see</span> 
       <code class="value">some_file</code> 
       <p>The file called <code>some_file</code></p>
      </li>
     </ul>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-some_doc">
     <a href="#val-some_doc" class="anchor"></a>
     <code><span><span class="keyword">val</span> some_doc : string</span>
     </code>
    </div>
    <div class="spec-doc">
     <ul class="at-tags">
      <li class="see"><span class="at-tag">see</span> 
       <span class="value">some_doc</span> 
       <p>The document called <code>some_doc</code></p>
      </li>
     </ul>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-since_mesozoic">
     <a href="#val-since_mesozoic" class="anchor"></a>
     <code>
      <span><span class="keyword">val</span> since_mesozoic : unit</span>
     </code>
    </div>
    <div class="spec-doc">
     <p>This value was introduced in the Mesozoic era.</p>
     <ul class="at-tags">
      <li class="since"><span class="at-tag">since</span> mesozoic</li>
     </ul>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-changing">
     <a href="#val-changing" class="anchor"></a>
     <code><span><span class="keyword">val</span> changing : unit</span>
     </code>
    </div>
    <div class="spec-doc">
     <p>This value has had changes in 1.0.0, 1.1.0, and 1.2.0.</p>
     <ul class="at-tags">
      <li class="before"><span class="at-tag">before</span> 
       <span class="value">1.0.0</span> <p>before 1.0.0</p>
      </li>
     </ul>
     <ul class="at-tags">
      <li class="before"><span class="at-tag">before</span> 
       <span class="value">1.1.0</span> <p>before 1.1.0</p>
      </li>
     </ul>
     <ul class="at-tags">
      <li class="version"><span class="at-tag">version</span> 1.2.0</li>
     </ul>
    </div>
   </div>
   <h4 id="some-operators"><a href="#some-operators" class="anchor"></a>
    Some Operators
   </h4>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(~-)">
     <a href="#val-(~-)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (~-) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(!)">
     <a href="#val-(!)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (!) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(@)">
     <a href="#val-(@)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (@) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-($)">
     <a href="#val-($)" class="anchor"></a>
     <code><span><span class="keyword">val</span> ($) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(%)">
     <a href="#val-(%)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (%) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(&amp;)">
     <a href="#val-(&amp;)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (&amp;) : unit</span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(*)">
     <a href="#val-(*)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (*) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(-)">
     <a href="#val-(-)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (-) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(+)">
     <a href="#val-(+)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (+) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(-?)">
     <a href="#val-(-?)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (-?) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(/)">
     <a href="#val-(/)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (/) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(:=)">
     <a href="#val-(:=)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (:=) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(=)">
     <a href="#val-(=)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (=) : unit</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value anchored" id="val-(land)">
     <a href="#val-(land)" class="anchor"></a>
     <code><span><span class="keyword">val</span> (land) : unit</span></code>
    </div>
   </div>
   <h4 id="advanced-module-stuff">
    <a href="#advanced-module-stuff" class="anchor"></a>Advanced Module
     Stuff
   </h4>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-CollectionModule">
     <a href="#module-CollectionModule" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-CollectionModule.html">CollectionModule</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>CollectionModule</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-COLLECTION">
     <a href="#module-type-COLLECTION" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-COLLECTION.html">COLLECTION</a>
      </span>
      <span> = <span class="keyword">module</span> 
       <span class="keyword">type</span> <span class="keyword">of</span>
        <a href="Ocamlary-CollectionModule.html">CollectionModule</a>
      </span>
     </code>
    </div><div class="spec-doc"><p>module type of</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Recollection">
     <a href="#module-Recollection" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Recollection.html">Recollection</a>
      </span>
      <span>
              
       (<a href="Ocamlary-Recollection-argument-1-C.html">C</a> : 
       <a href="Ocamlary-module-type-COLLECTION.html">COLLECTION</a>)
        : 
            
       <a href="Ocamlary-module-type-COLLECTION.html">COLLECTION</a>
                                                                        
       <span class="keyword">with</span> 
       <span><span class="keyword">type</span> 
        <a href="Ocamlary-module-type-COLLECTION.html#type-collection">
         collection
        </a> = 
        <span>
         <a href="Ocamlary-Recollection-argument-1-C.html#type-element">
          C.element
         </a> list
        </span>
       </span>
                  
        <span class="keyword">and</span> 
       <span><span class="keyword">type</span> 
        <a href="Ocamlary-module-type-COLLECTION.html#type-element">element
        </a> = 
        <a href="Ocamlary-Recollection-argument-1-C.html#type-collection">
         C.collection
        </a>
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-MMM">
     <a href="#module-type-MMM" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-MMM.html">MMM</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-RECOLLECTION">
     <a href="#module-type-RECOLLECTION" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-RECOLLECTION.html">RECOLLECTION</a>
      </span>
      <span> = <a href="Ocamlary-module-type-MMM.html">MMM</a> 
       <span class="keyword">with</span> 
       <span><span class="keyword">module</span> 
        <a href="Ocamlary-module-type-MMM-C.html">C</a> = 
        <a href="Ocamlary-Recollection.html">Recollection(CollectionModule)
        </a>
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored"
     id="module-type-RecollectionModule">
     <a href="#module-type-RecollectionModule" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-RecollectionModule.html">
        RecollectionModule
       </a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-A">
     <a href="#module-type-A" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-A.html">A</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-B">
     <a href="#module-type-B" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-B.html">B</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-C">
     <a href="#module-type-C" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-C.html">C</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
    <div class="spec-doc"><p>This module type includes two signatures.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-FunctorTypeOf">
     <a href="#module-FunctorTypeOf" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-FunctorTypeOf.html">FunctorTypeOf</a>
      </span>
      <span>
              
       (
       <a href="Ocamlary-FunctorTypeOf-argument-1-Collection.html">Collection
       </a> : <span class="keyword">module</span> 
       <span class="keyword">type</span> <span class="keyword">of</span>
        <a href="Ocamlary-CollectionModule.html">CollectionModule</a>
       ) : 
             
       <span class="keyword">sig</span> ... <span class="keyword">end</span>
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>FunctorTypeOf</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-IncludeModuleType">
     <a href="#module-type-IncludeModuleType" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-IncludeModuleType.html">
        IncludeModuleType
       </a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>IncludeModuleType</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-ToInclude">
     <a href="#module-type-ToInclude" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-ToInclude.html">ToInclude</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-include">
    <details open="open">
     <summary class="spec include">
      <code>
       <span><span class="keyword">include</span> 
        <a href="Ocamlary-module-type-ToInclude.html">ToInclude</a>
       </span>
      </code>
     </summary>
     <div class="odoc-spec">
      <div class="spec module anchored" id="module-IncludedA">
       <a href="#module-IncludedA" class="anchor"></a>
       <code>
        <span><span class="keyword">module</span> 
         <a href="Ocamlary-IncludedA.html">IncludedA</a>
        </span>
        <span> : <span class="keyword">sig</span> ... 
         <span class="keyword">end</span>
        </span>
       </code>
      </div>
     </div>
     <div class="odoc-spec">
      <div class="spec module-type anchored" id="module-type-IncludedB">
       <a href="#module-type-IncludedB" class="anchor"></a>
       <code>
        <span><span class="keyword">module</span> 
         <span class="keyword">type</span> 
         <a href="Ocamlary-module-type-IncludedB.html">IncludedB</a>
        </span>
        <span> = <span class="keyword">sig</span> ... 
         <span class="keyword">end</span>
        </span>
       </code>
      </div>
     </div>
    </details>
   </div>
   <h4 id="advanced-type-stuff">
    <a href="#advanced-type-stuff" class="anchor"></a>Advanced Type Stuff
   </h4>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-record">
     <a href="#type-record" class="anchor"></a>
     <code><span><span class="keyword">type</span> record</span>
      <span> = </span><span>{</span>
     </code>
     <ol>
      <li id="type-record.field1" class="def record field anchored">
       <a href="#type-record.field1" class="anchor"></a>
       <code><span>field1 : int;</span></code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>This comment is for <code>field1</code>.</p>
        <span class="comment-delim">*)</span>
       </div>
      </li>
      <li id="type-record.field2" class="def record field anchored">
       <a href="#type-record.field2" class="anchor"></a>
       <code><span>field2 : int;</span></code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>This comment is for <code>field2</code>.</p>
        <span class="comment-delim">*)</span>
       </div>
      </li>
     </ol><code><span>}</span></code>
    </div>
    <div class="spec-doc"><p>This comment is for <code>record</code>.</p>
     <p>This comment is also for <code>record</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-mutable_record">
     <a href="#type-mutable_record" class="anchor"></a>
     <code><span><span class="keyword">type</span> mutable_record</span>
      <span> = </span><span>{</span>
     </code>
     <ol>
      <li id="type-mutable_record.a" class="def record field anchored">
       <a href="#type-mutable_record.a" class="anchor"></a>
       <code><span><span class="keyword">mutable</span> a : int;</span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p><code>a</code> is first and mutable</p>
        <span class="comment-delim">*)</span>
       </div>
      </li>
      <li id="type-mutable_record.b" class="def record field anchored">
       <a href="#type-mutable_record.b" class="anchor"></a>
       <code><span>b : unit;</span></code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p><code>b</code> is second and immutable</p>
        <span class="comment-delim">*)</span>
       </div>
      </li>
      <li id="type-mutable_record.c" class="def record field anchored">
       <a href="#type-mutable_record.c" class="anchor"></a>
       <code><span><span class="keyword">mutable</span> c : int;</span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p><code>c</code> is third and mutable</p>
        <span class="comment-delim">*)</span>
       </div>
      </li>
     </ol><code><span>}</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-universe_record">
     <a href="#type-universe_record" class="anchor"></a>
     <code><span><span class="keyword">type</span> universe_record</span>
      <span> = </span><span>{</span>
     </code>
     <ol>
      <li id="type-universe_record.nihilate" class="def record field
       anchored"><a href="#type-universe_record.nihilate" class="anchor"></a>
       <code>
        <span>nihilate : 'a. 
         <span><span class="type-var">'a</span> 
          <span class="arrow">&#45;&gt;</span>
         </span> unit;
        </span>
       </code>
      </li>
     </ol><code><span>}</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-variant">
     <a href="#type-variant" class="anchor"></a>
     <code><span><span class="keyword">type</span> variant</span>
      <span> = </span>
     </code>
     <ol>
      <li id="type-variant.TagA" class="def variant constructor anchored">
       <a href="#type-variant.TagA" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">TagA</span></span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>This comment is for <code>TagA</code>.</p>
        <span class="comment-delim">*)</span>
       </div>
      </li>
      <li id="type-variant.ConstrB" class="def variant constructor anchored">
       <a href="#type-variant.ConstrB" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">ConstrB</span> 
         <span class="keyword">of</span> int
        </span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>This comment is for <code>ConstrB</code>.</p>
        <span class="comment-delim">*)</span>
       </div>
      </li>
      <li id="type-variant.ConstrC" class="def variant constructor anchored">
       <a href="#type-variant.ConstrC" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">ConstrC</span> 
         <span class="keyword">of</span> int * int
        </span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>This comment is for binary <code>ConstrC</code>.</p>
        <span class="comment-delim">*)</span>
       </div>
      </li>
      <li id="type-variant.ConstrD" class="def variant constructor anchored">
       <a href="#type-variant.ConstrD" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">ConstrD</span> 
         <span class="keyword">of</span> int * int
        </span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>This comment is for unary <code>ConstrD</code> of binary tuple.
        </p><span class="comment-delim">*)</span>
       </div>
      </li>
     </ol>
    </div>
    <div class="spec-doc"><p>This comment is for <code>variant</code>.</p>
     <p>This comment is also for <code>variant</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-poly_variant">
     <a href="#type-poly_variant" class="anchor"></a>
     <code><span><span class="keyword">type</span> poly_variant</span>
      <span> = </span><span>[ </span>
     </code>
     <ol>
      <li id="type-poly_variant.TagA" class="def variant constructor
       anchored"><a href="#type-poly_variant.TagA" class="anchor"></a>
       <code><span>| </span><span>`TagA</span></code>
      </li>
      <li id="type-poly_variant.ConstrB" class="def variant constructor
       anchored"><a href="#type-poly_variant.ConstrB" class="anchor"></a>
       <code><span>| </span>
        <span>`ConstrB <span class="keyword">of</span> int</span>
       </code>
      </li>
     </ol><code><span> ]</span></code>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>poly_variant</code>.</p>
     <p>Wow! It was a polymorphic variant!</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-full_gadt">
     <a href="#type-full_gadt" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <span>(_, _) full_gadt</span>
      </span><span> = </span>
     </code>
     <ol>
      <li id="type-full_gadt.Tag" class="def variant constructor anchored">
       <a href="#type-full_gadt.Tag" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">Tag</span> : 
         <span><span>(unit, unit)</span> 
          <a href="#type-full_gadt">full_gadt</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-full_gadt.First" class="def variant constructor anchored">
       <a href="#type-full_gadt.First" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">First</span> : 
         <span class="type-var">'a</span> 
         <span class="arrow">&#45;&gt;</span> 
         <span><span>(<span class="type-var">'a</span>, unit)</span> 
          <a href="#type-full_gadt">full_gadt</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-full_gadt.Second" class="def variant constructor anchored">
       <a href="#type-full_gadt.Second" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">Second</span> : 
         <span class="type-var">'a</span> 
         <span class="arrow">&#45;&gt;</span> 
         <span><span>(unit, <span class="type-var">'a</span>)</span> 
          <a href="#type-full_gadt">full_gadt</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-full_gadt.Exist" class="def variant constructor anchored">
       <a href="#type-full_gadt.Exist" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">Exist</span> : 
         <span class="type-var">'a</span> * <span class="type-var">'b</span>
          <span class="arrow">&#45;&gt;</span> 
         <span><span>(<span class="type-var">'b</span>, unit)</span> 
          <a href="#type-full_gadt">full_gadt</a>
         </span>
        </span>
       </code>
      </li>
     </ol>
    </div>
    <div class="spec-doc"><p>This comment is for <code>full_gadt</code>.</p>
     <p>Wow! It was a GADT!</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-partial_gadt">
     <a href="#type-partial_gadt" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <span>'a partial_gadt</span>
      </span><span> = </span>
     </code>
     <ol>
      <li id="type-partial_gadt.AscribeTag" class="def variant constructor
       anchored"><a href="#type-partial_gadt.AscribeTag" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">AscribeTag</span> : 
         <span><span class="type-var">'a</span> 
          <a href="#type-partial_gadt">partial_gadt</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-partial_gadt.OfTag" class="def variant constructor
       anchored"><a href="#type-partial_gadt.OfTag" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">OfTag</span> 
         <span class="keyword">of</span> 
         <span><span class="type-var">'a</span> 
          <a href="#type-partial_gadt">partial_gadt</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-partial_gadt.ExistGadtTag" class="def variant constructor
       anchored">
       <a href="#type-partial_gadt.ExistGadtTag" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">ExistGadtTag</span> : 
         <span>(
          <span><span class="type-var">'a</span> 
           <span class="arrow">&#45;&gt;</span>
          </span> <span class="type-var">'b</span>)
         </span> <span class="arrow">&#45;&gt;</span> 
         <span><span class="type-var">'a</span> 
          <a href="#type-partial_gadt">partial_gadt</a>
         </span>
        </span>
       </code>
      </li>
     </ol>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>partial_gadt</code>.</p>
     <p>Wow! It was a mixed GADT!</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-alias">
     <a href="#type-alias" class="anchor"></a>
     <code><span><span class="keyword">type</span> alias</span>
      <span> = <a href="#type-variant">variant</a></span>
     </code>
    </div>
    <div class="spec-doc"><p>This comment is for <code>alias</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-tuple">
     <a href="#type-tuple" class="anchor"></a>
     <code><span><span class="keyword">type</span> tuple</span>
      <span> = 
       <span>(<a href="#type-alias">alias</a> * 
        <a href="#type-alias">alias</a>)
       </span> * <a href="#type-alias">alias</a> * 
       <span>(<a href="#type-alias">alias</a> * 
        <a href="#type-alias">alias</a>)
       </span>
      </span>
     </code>
    </div>
    <div class="spec-doc"><p>This comment is for <code>tuple</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-variant_alias">
     <a href="#type-variant_alias" class="anchor"></a>
     <code><span><span class="keyword">type</span> variant_alias</span>
      <span> = <a href="#type-variant">variant</a></span><span> = </span>
     </code>
     <ol>
      <li id="type-variant_alias.TagA" class="def variant constructor
       anchored"><a href="#type-variant_alias.TagA" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">TagA</span></span>
       </code>
      </li>
      <li id="type-variant_alias.ConstrB" class="def variant constructor
       anchored"><a href="#type-variant_alias.ConstrB" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">ConstrB</span> 
         <span class="keyword">of</span> int
        </span>
       </code>
      </li>
      <li id="type-variant_alias.ConstrC" class="def variant constructor
       anchored"><a href="#type-variant_alias.ConstrC" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">ConstrC</span> 
         <span class="keyword">of</span> int * int
        </span>
       </code>
      </li>
      <li id="type-variant_alias.ConstrD" class="def variant constructor
       anchored"><a href="#type-variant_alias.ConstrD" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">ConstrD</span> 
         <span class="keyword">of</span> int * int
        </span>
       </code>
      </li>
     </ol>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>variant_alias</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-record_alias">
     <a href="#type-record_alias" class="anchor"></a>
     <code><span><span class="keyword">type</span> record_alias</span>
      <span> = <a href="#type-record">record</a></span><span> = </span>
      <span>{</span>
     </code>
     <ol>
      <li id="type-record_alias.field1" class="def record field anchored">
       <a href="#type-record_alias.field1" class="anchor"></a>
       <code><span>field1 : int;</span></code>
      </li>
      <li id="type-record_alias.field2" class="def record field anchored">
       <a href="#type-record_alias.field2" class="anchor"></a>
       <code><span>field2 : int;</span></code>
      </li>
     </ol><code><span>}</span></code>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>record_alias</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-poly_variant_union">
     <a href="#type-poly_variant_union" class="anchor"></a>
     <code><span><span class="keyword">type</span> poly_variant_union</span>
      <span> = </span><span>[ </span>
     </code>
     <ol>
      <li id="type-poly_variant_union.poly_variant" class="def variant 
       type anchored">
       <a href="#type-poly_variant_union.poly_variant" class="anchor"></a>
       <code><span>| </span>
        <span><a href="#type-poly_variant">poly_variant</a></span>
       </code>
      </li>
      <li id="type-poly_variant_union.TagC" class="def variant constructor
       anchored"><a href="#type-poly_variant_union.TagC" class="anchor"></a>
       <code><span>| </span><span>`TagC</span></code>
      </li>
     </ol><code><span> ]</span></code>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>poly_variant_union</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-poly_poly_variant">
     <a href="#type-poly_poly_variant" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>'a poly_poly_variant</span>
      </span><span> = </span><span>[ </span>
     </code>
     <ol>
      <li id="type-poly_poly_variant.TagA" class="def variant constructor
       anchored"><a href="#type-poly_poly_variant.TagA" class="anchor"></a>
       <code><span>| </span>
        <span>`TagA <span class="keyword">of</span> 
         <span class="type-var">'a</span>
        </span>
       </code>
      </li>
     </ol><code><span> ]</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-bin_poly_poly_variant">
     <a href="#type-bin_poly_poly_variant" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>('a, 'b) bin_poly_poly_variant</span>
      </span><span> = </span><span>[ </span>
     </code>
     <ol>
      <li id="type-bin_poly_poly_variant.TagA" class="def variant constructor
       anchored">
       <a href="#type-bin_poly_poly_variant.TagA" class="anchor"></a>
       <code><span>| </span>
        <span>`TagA <span class="keyword">of</span> 
         <span class="type-var">'a</span>
        </span>
       </code>
      </li>
      <li id="type-bin_poly_poly_variant.ConstrB" class="def variant
       constructor anchored">
       <a href="#type-bin_poly_poly_variant.ConstrB" class="anchor"></a>
       <code><span>| </span>
        <span>`ConstrB <span class="keyword">of</span> 
         <span class="type-var">'b</span>
        </span>
       </code>
      </li>
     </ol><code><span> ]</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-open_poly_variant">
     <a href="#type-open_poly_variant" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>'a open_poly_variant</span>
      </span>
      <span> = <span>[&gt; `TagA ]</span> <span class="keyword">as</span> 'a
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-open_poly_variant2">
     <a href="#type-open_poly_variant2" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>'a open_poly_variant2</span>
      </span>
      <span> = <span>[&gt; <span>`ConstrB of int</span> ]</span> 
       <span class="keyword">as</span> 'a
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-open_poly_variant_alias">
     <a href="#type-open_poly_variant_alias" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>'a open_poly_variant_alias</span>
      </span>
      <span> = 
       <span>
        <span><span class="type-var">'a</span> 
         <a href="#type-open_poly_variant">open_poly_variant</a>
        </span> <a href="#type-open_poly_variant2">open_poly_variant2</a>
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-poly_fun">
     <a href="#type-poly_fun" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <span>'a poly_fun</span></span>
      <span> = 
       <span><span>[&gt; <span>`ConstrB of int</span> ]</span> 
        <span class="keyword">as</span> 'a 
        <span class="arrow">&#45;&gt;</span>
       </span> <span class="type-var">'a</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-poly_fun_constraint">
     <a href="#type-poly_fun_constraint" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>'a poly_fun_constraint</span>
      </span>
      <span> = 
       <span><span class="type-var">'a</span> 
        <span class="arrow">&#45;&gt;</span>
       </span> <span class="type-var">'a</span>
      </span>
      <span> <span class="keyword">constraint</span> 
       <span class="type-var">'a</span> = <span>[&gt; `TagA ]</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-closed_poly_variant">
     <a href="#type-closed_poly_variant" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>'a closed_poly_variant</span>
      </span>
      <span> = <span>[&lt; `One <span>| `Two</span> ]</span> 
       <span class="keyword">as</span> 'a
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-clopen_poly_variant">
     <a href="#type-clopen_poly_variant" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>'a clopen_poly_variant</span>
      </span>
      <span> = 
       <span>[&lt; `One <span><span>| `Two</span> of int</span> 
        <span>| `Three</span> Two Three ]
       </span> <span class="keyword">as</span> 'a
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-nested_poly_variant">
     <a href="#type-nested_poly_variant" class="anchor"></a>
     <code><span><span class="keyword">type</span> nested_poly_variant</span>
      <span> = </span><span>[ </span>
     </code>
     <ol>
      <li id="type-nested_poly_variant.A" class="def variant constructor
       anchored"><a href="#type-nested_poly_variant.A" class="anchor"></a>
       <code><span>| </span><span>`A</span></code>
      </li>
      <li id="type-nested_poly_variant.B" class="def variant constructor
       anchored"><a href="#type-nested_poly_variant.B" class="anchor"></a>
       <code><span>| </span>
        <span>`B <span class="keyword">of</span> 
         <span>[ `B1 <span>| `B2</span> ]</span>
        </span>
       </code>
      </li>
      <li id="type-nested_poly_variant.C" class="def variant constructor
       anchored"><a href="#type-nested_poly_variant.C" class="anchor"></a>
       <code><span>| </span><span>`C</span></code>
      </li>
      <li id="type-nested_poly_variant.D" class="def variant constructor
       anchored"><a href="#type-nested_poly_variant.D" class="anchor"></a>
       <code><span>| </span>
        <span>`D <span class="keyword">of</span> 
         <span>[ <span>`D1 of <span>[ `D1a ]</span></span> ]</span>
        </span>
       </code>
      </li>
     </ol><code><span> ]</span></code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-full_gadt_alias">
     <a href="#type-full_gadt_alias" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>('a, 'b) full_gadt_alias</span>
      </span>
      <span> = 
       <span>
        <span>(<span class="type-var">'a</span>, 
         <span class="type-var">'b</span>)
        </span> <a href="#type-full_gadt">full_gadt</a>
       </span>
      </span><span> = </span>
     </code>
     <ol>
      <li id="type-full_gadt_alias.Tag" class="def variant constructor
       anchored"><a href="#type-full_gadt_alias.Tag" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">Tag</span> : 
         <span><span>(unit, unit)</span> 
          <a href="#type-full_gadt_alias">full_gadt_alias</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-full_gadt_alias.First" class="def variant constructor
       anchored"><a href="#type-full_gadt_alias.First" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">First</span> : 
         <span class="type-var">'a</span> 
         <span class="arrow">&#45;&gt;</span> 
         <span><span>(<span class="type-var">'a</span>, unit)</span> 
          <a href="#type-full_gadt_alias">full_gadt_alias</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-full_gadt_alias.Second" class="def variant constructor
       anchored"><a href="#type-full_gadt_alias.Second" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">Second</span> : 
         <span class="type-var">'a</span> 
         <span class="arrow">&#45;&gt;</span> 
         <span><span>(unit, <span class="type-var">'a</span>)</span> 
          <a href="#type-full_gadt_alias">full_gadt_alias</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-full_gadt_alias.Exist" class="def variant constructor
       anchored"><a href="#type-full_gadt_alias.Exist" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">Exist</span> : 
         <span class="type-var">'a</span> * <span class="type-var">'b</span>
          <span class="arrow">&#45;&gt;</span> 
         <span><span>(<span class="type-var">'b</span>, unit)</span> 
          <a href="#type-full_gadt_alias">full_gadt_alias</a>
         </span>
        </span>
       </code>
      </li>
     </ol>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>full_gadt_alias</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-partial_gadt_alias">
     <a href="#type-partial_gadt_alias" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <span>'a partial_gadt_alias</span>
      </span>
      <span> = 
       <span><span class="type-var">'a</span> 
        <a href="#type-partial_gadt">partial_gadt</a>
       </span>
      </span><span> = </span>
     </code>
     <ol>
      <li id="type-partial_gadt_alias.AscribeTag" class="def variant
       constructor anchored">
       <a href="#type-partial_gadt_alias.AscribeTag" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">AscribeTag</span> : 
         <span><span class="type-var">'a</span> 
          <a href="#type-partial_gadt_alias">partial_gadt_alias</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-partial_gadt_alias.OfTag" class="def variant constructor
       anchored"><a href="#type-partial_gadt_alias.OfTag" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">OfTag</span> 
         <span class="keyword">of</span> 
         <span><span class="type-var">'a</span> 
          <a href="#type-partial_gadt_alias">partial_gadt_alias</a>
         </span>
        </span>
       </code>
      </li>
      <li id="type-partial_gadt_alias.ExistGadtTag" class="def variant
       constructor anchored">
       <a href="#type-partial_gadt_alias.ExistGadtTag" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">ExistGadtTag</span> : 
         <span>(
          <span><span class="type-var">'a</span> 
           <span class="arrow">&#45;&gt;</span>
          </span> <span class="type-var">'b</span>)
         </span> <span class="arrow">&#45;&gt;</span> 
         <span><span class="type-var">'a</span> 
          <a href="#type-partial_gadt_alias">partial_gadt_alias</a>
         </span>
        </span>
       </code>
      </li>
     </ol>
    </div>
    <div class="spec-doc">
     <p>This comment is for <code>partial_gadt_alias</code>.</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec exception anchored" id="exception-Exn_arrow">
     <a href="#exception-Exn_arrow" class="anchor"></a>
     <code><span><span class="keyword">exception</span> </span>
      <span><span class="exception">Exn_arrow</span> : unit 
       <span class="arrow">&#45;&gt;</span> exn
      </span>
     </code>
    </div>
    <div class="spec-doc">
     <p>This comment is for 
      <a href="#exception-Exn_arrow"><code>Exn_arrow</code></a>.
     </p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-mutual_constr_a">
     <a href="#type-mutual_constr_a" class="anchor"></a>
     <code><span><span class="keyword">type</span> mutual_constr_a</span>
      <span> = </span>
     </code>
     <ol>
      <li id="type-mutual_constr_a.A" class="def variant constructor
       anchored"><a href="#type-mutual_constr_a.A" class="anchor"></a>
       <code><span>| </span><span><span class="constructor">A</span></span>
       </code>
      </li>
      <li id="type-mutual_constr_a.B_ish" class="def variant constructor
       anchored"><a href="#type-mutual_constr_a.B_ish" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">B_ish</span> 
         <span class="keyword">of</span> 
         <a href="#type-mutual_constr_b">mutual_constr_b</a>
        </span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>This comment is between 
         <a href="#type-mutual_constr_a"><code>mutual_constr_a</code></a>
          and 
         <a href="#type-mutual_constr_b"><code>mutual_constr_b</code></a>
         .
        </p><span class="comment-delim">*)</span>
       </div>
      </li>
     </ol>
    </div>
    <div class="spec-doc">
     <p>This comment is for 
      <a href="#type-mutual_constr_a"><code>mutual_constr_a</code></a>
       then <a href="#type-mutual_constr_b"><code>mutual_constr_b</code></a>
      .
     </p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-mutual_constr_b">
     <a href="#type-mutual_constr_b" class="anchor"></a>
     <code><span><span class="keyword">and</span> mutual_constr_b</span>
      <span> = </span>
     </code>
     <ol>
      <li id="type-mutual_constr_b.B" class="def variant constructor
       anchored"><a href="#type-mutual_constr_b.B" class="anchor"></a>
       <code><span>| </span><span><span class="constructor">B</span></span>
       </code>
      </li>
      <li id="type-mutual_constr_b.A_ish" class="def variant constructor
       anchored"><a href="#type-mutual_constr_b.A_ish" class="anchor"></a>
       <code><span>| </span>
        <span><span class="constructor">A_ish</span> 
         <span class="keyword">of</span> 
         <a href="#type-mutual_constr_a">mutual_constr_a</a>
        </span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>This comment must be here for the next to associate correctly.</p>
        <span class="comment-delim">*)</span>
       </div>
      </li>
     </ol>
    </div>
    <div class="spec-doc">
     <p>This comment is for 
      <a href="#type-mutual_constr_b"><code>mutual_constr_b</code></a>
       then <a href="#type-mutual_constr_a"><code>mutual_constr_a</code></a>
      .
     </p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-rec_obj">
     <a href="#type-rec_obj" class="anchor"></a>
     <code><span><span class="keyword">type</span> rec_obj</span>
      <span> = 
       <span>&lt; f : int ; g : 
        <span>unit <span class="arrow">&#45;&gt;</span></span> unit ; 
        h : <a href="#type-rec_obj">rec_obj</a> &gt;
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-open_obj">
     <a href="#type-open_obj" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <span>'a open_obj</span></span>
      <span> = 
       <span>&lt; f : int ; g : 
        <span>unit <span class="arrow">&#45;&gt;</span></span> unit.. &gt;
       </span> <span class="keyword">as</span> 'a
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-oof">
     <a href="#type-oof" class="anchor"></a>
     <code><span><span class="keyword">type</span> <span>'a oof</span></span>
      <span> = 
       <span><span>&lt; a : unit.. &gt;</span> 
        <span class="keyword">as</span> 'a 
        <span class="arrow">&#45;&gt;</span>
       </span> <span class="type-var">'a</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-any_obj">
     <a href="#type-any_obj" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <span>'a any_obj</span></span>
      <span> = <span>&lt; .. &gt;</span> <span class="keyword">as</span> 'a
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-empty_obj">
     <a href="#type-empty_obj" class="anchor"></a>
     <code><span><span class="keyword">type</span> empty_obj</span>
      <span> = <span>&lt;  &gt;</span></span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-one_meth">
     <a href="#type-one_meth" class="anchor"></a>
     <code><span><span class="keyword">type</span> one_meth</span>
      <span> = <span>&lt; meth : unit &gt;</span></span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-ext">
     <a href="#type-ext" class="anchor"></a>
     <code><span><span class="keyword">type</span> ext</span><span> = </span>
      <span>..</span>
     </code>
    </div><div class="spec-doc"><p>A mystery wrapped in an ellipsis</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-ExtA">
     <a href="#extension-decl-ExtA" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <a href="#type-ext">ext</a> += 
      </span>
     </code>
     <ol>
      <li id="extension-ExtA" class="def variant extension anchored">
       <a href="#extension-ExtA" class="anchor"></a>
       <code><span>| </span><span><span class="extension">ExtA</span></span>
       </code>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-ExtB">
     <a href="#extension-decl-ExtB" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <a href="#type-ext">ext</a> += 
      </span>
     </code>
     <ol>
      <li id="extension-ExtB" class="def variant extension anchored">
       <a href="#extension-ExtB" class="anchor"></a>
       <code><span>| </span><span><span class="extension">ExtB</span></span>
       </code>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-ExtC">
     <a href="#extension-decl-ExtC" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <a href="#type-ext">ext</a> += 
      </span>
     </code>
     <ol>
      <li id="extension-ExtC" class="def variant extension anchored">
       <a href="#extension-ExtC" class="anchor"></a>
       <code><span>| </span>
        <span><span class="extension">ExtC</span> 
         <span class="keyword">of</span> unit
        </span>
       </code>
      </li>
      <li id="extension-ExtD" class="def variant extension anchored">
       <a href="#extension-ExtD" class="anchor"></a>
       <code><span>| </span>
        <span><span class="extension">ExtD</span> 
         <span class="keyword">of</span> <a href="#type-ext">ext</a>
        </span>
       </code>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-ExtE">
     <a href="#extension-decl-ExtE" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <a href="#type-ext">ext</a> += 
      </span>
     </code>
     <ol>
      <li id="extension-ExtE" class="def variant extension anchored">
       <a href="#extension-ExtE" class="anchor"></a>
       <code><span>| </span><span><span class="extension">ExtE</span></span>
       </code>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-ExtF">
     <a href="#extension-decl-ExtF" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <a href="#type-ext">ext</a>
        += <span class="keyword">private</span> 
      </span>
     </code>
     <ol>
      <li id="extension-ExtF" class="def variant extension anchored">
       <a href="#extension-ExtF" class="anchor"></a>
       <code><span>| </span><span><span class="extension">ExtF</span></span>
       </code>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-poly_ext">
     <a href="#type-poly_ext" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <span>'a poly_ext</span></span>
      <span> = </span><span>..</span>
     </code>
    </div><div class="spec-doc"><p>'a poly_ext</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-Foo">
     <a href="#extension-decl-Foo" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <a href="#type-poly_ext">poly_ext</a> += 
      </span>
     </code>
     <ol>
      <li id="extension-Foo" class="def variant extension anchored">
       <a href="#extension-Foo" class="anchor"></a>
       <code><span>| </span>
        <span><span class="extension">Foo</span> 
         <span class="keyword">of</span> <span class="type-var">'b</span>
        </span>
       </code>
      </li>
      <li id="extension-Bar" class="def variant extension anchored">
       <a href="#extension-Bar" class="anchor"></a>
       <code><span>| </span>
        <span><span class="extension">Bar</span> 
         <span class="keyword">of</span> <span class="type-var">'b</span>
          * <span class="type-var">'b</span>
        </span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>'b poly_ext</p><span class="comment-delim">*)</span>
       </div>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-Quux">
     <a href="#extension-decl-Quux" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <a href="#type-poly_ext">poly_ext</a> += 
      </span>
     </code>
     <ol>
      <li id="extension-Quux" class="def variant extension anchored">
       <a href="#extension-Quux" class="anchor"></a>
       <code><span>| </span>
        <span><span class="extension">Quux</span> 
         <span class="keyword">of</span> <span class="type-var">'c</span>
        </span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>'c poly_ext</p><span class="comment-delim">*)</span>
       </div>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-ExtMod">
     <a href="#module-ExtMod" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-ExtMod.html">ExtMod</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-ZzzTop0">
     <a href="#extension-decl-ZzzTop0" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <a href="Ocamlary-ExtMod.html#type-t">ExtMod.t</a> += 
      </span>
     </code>
     <ol>
      <li id="extension-ZzzTop0" class="def variant extension anchored">
       <a href="#extension-ZzzTop0" class="anchor"></a>
       <code><span>| </span>
        <span><span class="extension">ZzzTop0</span></span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>It's got the rock</p><span class="comment-delim">*)</span>
       </div>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-ZzzTop">
     <a href="#extension-decl-ZzzTop" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> 
       <a href="Ocamlary-ExtMod.html#type-t">ExtMod.t</a> += 
      </span>
     </code>
     <ol>
      <li id="extension-ZzzTop" class="def variant extension anchored">
       <a href="#extension-ZzzTop" class="anchor"></a>
       <code><span>| </span>
        <span><span class="extension">ZzzTop</span> 
         <span class="keyword">of</span> unit
        </span>
       </code>
       <div class="def-doc"><span class="comment-delim">(*</span>
        <p>and it packs a unit.</p><span class="comment-delim">*)</span>
       </div>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec value external anchored" id="val-launch_missiles">
     <a href="#val-launch_missiles" class="anchor"></a>
     <code>
      <span><span class="keyword">val</span> launch_missiles : 
       <span>unit <span class="arrow">&#45;&gt;</span></span> unit
      </span>
     </code>
    </div><div class="spec-doc"><p>Rotate keys on my mark...</p></div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-my_mod">
     <a href="#type-my_mod" class="anchor"></a>
     <code><span><span class="keyword">type</span> my_mod</span>
      <span> = 
       <span>(<span class="keyword">module</span> 
        <a href="Ocamlary-module-type-COLLECTION.html">COLLECTION</a>
        )
       </span>
      </span>
     </code>
    </div>
    <div class="spec-doc"><p>A brown paper package tied up with string</p>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec class anchored" id="class-empty_class">
     <a href="#class-empty_class" class="anchor"></a>
     <code><span><span class="keyword">class</span> </span>
      <span><a href="Ocamlary-class-empty_class.html">empty_class</a></span>
      <span> : <span class="keyword">object</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec class anchored" id="class-one_method_class">
     <a href="#class-one_method_class" class="anchor"></a>
     <code><span><span class="keyword">class</span> </span>
      <span>
       <a href="Ocamlary-class-one_method_class.html">one_method_class</a>
      </span>
      <span> : <span class="keyword">object</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec class anchored" id="class-two_method_class">
     <a href="#class-two_method_class" class="anchor"></a>
     <code><span><span class="keyword">class</span> </span>
      <span>
       <a href="Ocamlary-class-two_method_class.html">two_method_class</a>
      </span>
      <span> : <span class="keyword">object</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec class anchored" id="class-param_class">
     <a href="#class-param_class" class="anchor"></a>
     <code><span><span class="keyword">class</span> 'a </span>
      <span><a href="Ocamlary-class-param_class.html">param_class</a></span>
      <span> : 
       <span><span class="type-var">'a</span> 
        <span class="arrow">&#45;&gt;</span>
       </span> <span class="keyword">object</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-my_unit_object">
     <a href="#type-my_unit_object" class="anchor"></a>
     <code><span><span class="keyword">type</span> my_unit_object</span>
      <span> = 
       <span>unit <a href="Ocamlary-class-param_class.html">param_class</a>
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-my_unit_class">
     <a href="#type-my_unit_class" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <span>'a my_unit_class</span>
      </span>
      <span> = 
       <span>unit <a href="Ocamlary-class-param_class.html">param_class</a>
       </span> <span class="keyword">as</span> 'a
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep1">
     <a href="#module-Dep1" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep1.html">Dep1</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep2">
     <a href="#module-Dep2" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep2.html">Dep2</a>
      </span>
      <span> (<a href="Ocamlary-Dep2-argument-1-Arg.html">Arg</a> : 
       <span class="keyword">sig</span> ... <span class="keyword">end</span>
       ) : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-dep1">
     <a href="#type-dep1" class="anchor"></a>
     <code><span><span class="keyword">type</span> dep1</span>
      <span> = 
       <a href="Ocamlary-Dep1-module-type-S-class-c.html">Dep2(Dep1).B.c</a>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep3">
     <a href="#module-Dep3" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep3.html">Dep3</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep4">
     <a href="#module-Dep4" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep4.html">Dep4</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep5">
     <a href="#module-Dep5" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep5.html">Dep5</a>
      </span>
      <span> (<a href="Ocamlary-Dep5-argument-1-Arg.html">Arg</a> : 
       <span class="keyword">sig</span> ... <span class="keyword">end</span>
       ) : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-dep2">
     <a href="#type-dep2" class="anchor"></a>
     <code><span><span class="keyword">type</span> dep2</span>
      <span> = 
       <a href="Ocamlary-Dep4-module-type-T.html#type-b">Dep5(Dep4).Z.X.b</a>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-dep3">
     <a href="#type-dep3" class="anchor"></a>
     <code><span><span class="keyword">type</span> dep3</span>
      <span> = <a href="Ocamlary-Dep3.html#type-a">Dep5(Dep4).Z.Y.a</a>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep6">
     <a href="#module-Dep6" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep6.html">Dep6</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep7">
     <a href="#module-Dep7" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep7.html">Dep7</a>
      </span>
      <span> (<a href="Ocamlary-Dep7-argument-1-Arg.html">Arg</a> : 
       <span class="keyword">sig</span> ... <span class="keyword">end</span>
       ) : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-dep4">
     <a href="#type-dep4" class="anchor"></a>
     <code><span><span class="keyword">type</span> dep4</span>
      <span> = 
       <a href="Ocamlary-Dep6-module-type-S.html#type-d">Dep7(Dep6).M.Y.d</a>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep8">
     <a href="#module-Dep8" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep8.html">Dep8</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep9">
     <a href="#module-Dep9" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep9.html">Dep9</a>
      </span>
      <span> (<a href="Ocamlary-Dep9-argument-1-X.html">X</a> : 
       <span class="keyword">sig</span> ... <span class="keyword">end</span>
       ) : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-Dep10">
     <a href="#module-type-Dep10" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-Dep10.html">Dep10</a>
      </span>
      <span> = <a href="Ocamlary-Dep8-module-type-T.html">Dep9(Dep8).T</a>
        <span class="keyword">with</span> 
       <span><span class="keyword">type</span> 
        <a href="Ocamlary-Dep8-module-type-T.html#type-t">t</a> = int
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep11">
     <a href="#module-Dep11" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep11.html">Dep11</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep12">
     <a href="#module-Dep12" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep12.html">Dep12</a>
      </span>
      <span> (<a href="Ocamlary-Dep12-argument-1-Arg.html">Arg</a> : 
       <span class="keyword">sig</span> ... <span class="keyword">end</span>
       ) : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Dep13">
     <a href="#module-Dep13" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Dep13.html">Dep13</a>
      </span>
      <span> : <a href="Ocamlary-Dep11-module-type-S.html">Dep12(Dep11).T</a>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-dep5">
     <a href="#type-dep5" class="anchor"></a>
     <code><span><span class="keyword">type</span> dep5</span>
      <span> = <a href="Ocamlary-Dep13-class-c.html">Dep13.c</a></span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-With1">
     <a href="#module-type-With1" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-With1.html">With1</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-With2">
     <a href="#module-With2" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-With2.html">With2</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-With3">
     <a href="#module-With3" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-With3.html">With3</a>
      </span>
      <span> : <a href="Ocamlary-module-type-With1.html">With1</a> 
       <span class="keyword">with</span> 
       <span><span class="keyword">module</span> 
        <a href="Ocamlary-module-type-With1-M.html">M</a> = 
        <a href="Ocamlary-With2.html">With2</a>
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-with1">
     <a href="#type-with1" class="anchor"></a>
     <code><span><span class="keyword">type</span> with1</span>
      <span> = <a href="Ocamlary-With3-N.html#type-t">With3.N.t</a></span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-With4">
     <a href="#module-With4" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-With4.html">With4</a>
      </span>
      <span> : <a href="Ocamlary-module-type-With1.html">With1</a> 
       <span class="keyword">with</span> 
       <span><span class="keyword">module</span> 
        <a href="Ocamlary-module-type-With1-M.html">M</a> := 
        <a href="Ocamlary-With2.html">With2</a>
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-with2">
     <a href="#type-with2" class="anchor"></a>
     <code><span><span class="keyword">type</span> with2</span>
      <span> = <a href="Ocamlary-With4-N.html#type-t">With4.N.t</a></span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-With5">
     <a href="#module-With5" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-With5.html">With5</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-With6">
     <a href="#module-With6" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-With6.html">With6</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-With7">
     <a href="#module-With7" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-With7.html">With7</a>
      </span>
      <span> (<a href="Ocamlary-With7-argument-1-X.html">X</a> : 
       <span class="keyword">sig</span> ... <span class="keyword">end</span>
       ) : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-With8">
     <a href="#module-type-With8" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-With8.html">With8</a>
      </span>
      <span> =
                
       <a href="Ocamlary-With6-module-type-T.html">With7(With6).T</a>
        <span class="keyword">with</span> 
       <span><span class="keyword">module</span> 
        <a href="Ocamlary-With6-module-type-T-M.html">M</a> = 
        <a href="Ocamlary-With5.html">With5</a>
       </span> <span class="keyword">and</span> 
       <span><span class="keyword">type</span> 
        <a href="Ocamlary-With5-module-type-S.html#type-t">M.N.t</a> =
         <a href="Ocamlary-With5-N.html#type-t">With5.N.t</a>
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-With9">
     <a href="#module-With9" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-With9.html">With9</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-With10">
     <a href="#module-With10" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-With10.html">With10</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-With11">
     <a href="#module-type-With11" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-With11.html">With11</a>
      </span>
      <span> = 
       <a href="Ocamlary-With10-module-type-T.html">With7(With10).T</a>
        <span class="keyword">with</span> 
       <span><span class="keyword">module</span> 
        <a href="Ocamlary-With10-module-type-T-M.html">M</a> = 
        <a href="Ocamlary-With9.html">With9</a>
       </span> <span class="keyword">and</span> 
       <span><span class="keyword">type</span> 
        <a href="Ocamlary-With9-module-type-S.html#type-t">N.t</a> = 
        int
       </span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-NestedInclude1">
     <a href="#module-type-NestedInclude1" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-NestedInclude1.html">NestedInclude1</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-include">
    <details open="open">
     <summary class="spec include">
      <code>
       <span><span class="keyword">include</span> 
        <a href="Ocamlary-module-type-NestedInclude1.html">NestedInclude1</a>
       </span>
      </code>
     </summary>
     <div class="odoc-spec">
      <div class="spec module-type anchored" id="module-type-NestedInclude2">
       <a href="#module-type-NestedInclude2" class="anchor"></a>
       <code>
        <span><span class="keyword">module</span> 
         <span class="keyword">type</span> 
         <a href="Ocamlary-module-type-NestedInclude2.html">NestedInclude2
         </a>
        </span>
        <span> = <span class="keyword">sig</span> ... 
         <span class="keyword">end</span>
        </span>
       </code>
      </div>
     </div>
    </details>
   </div>
   <div class="odoc-include">
    <details open="open">
     <summary class="spec include">
      <code>
       <span><span class="keyword">include</span> 
        <a href="Ocamlary-module-type-NestedInclude2.html">NestedInclude2</a>
         <span class="keyword">with</span> 
        <span><span class="keyword">type</span> 
         <a
          href="Ocamlary-module-type-NestedInclude2.html#type-nested_include">
          nested_include
         </a> = int
        </span>
       </span>
      </code>
     </summary>
     <div class="odoc-spec">
      <div class="spec type anchored" id="type-nested_include">
       <a href="#type-nested_include" class="anchor"></a>
       <code><span><span class="keyword">type</span> nested_include</span>
        <span> = int</span>
       </code>
      </div>
     </div>
    </details>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-DoubleInclude1">
     <a href="#module-DoubleInclude1" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-DoubleInclude1.html">DoubleInclude1</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-DoubleInclude3">
     <a href="#module-DoubleInclude3" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-DoubleInclude3.html">DoubleInclude3</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-include">
    <details open="open">
     <summary class="spec include">
      <code>
       <span><span class="keyword">include</span> 
        <span class="keyword">module</span> <span class="keyword">type</span>
         <span class="keyword">of</span> 
        <a href="Ocamlary-DoubleInclude3-DoubleInclude2.html">
         DoubleInclude3.DoubleInclude2
        </a>
       </span>
      </code>
     </summary>
     <div class="odoc-spec">
      <div class="spec type anchored" id="type-double_include">
       <a href="#type-double_include" class="anchor"></a>
       <code><span><span class="keyword">type</span> double_include</span>
       </code>
      </div>
     </div>
    </details>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-IncludeInclude1">
     <a href="#module-IncludeInclude1" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-IncludeInclude1.html">IncludeInclude1</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-include">
    <details open="open">
     <summary class="spec include">
      <code>
       <span><span class="keyword">include</span> 
        <span class="keyword">module</span> <span class="keyword">type</span>
         <span class="keyword">of</span> 
        <a href="Ocamlary-IncludeInclude1.html">IncludeInclude1</a>
       </span>
      </code>
     </summary>
     <div class="odoc-spec">
      <div class="spec module-type anchored" id="module-type-IncludeInclude2">
       <a href="#module-type-IncludeInclude2" class="anchor"></a>
       <code>
        <span><span class="keyword">module</span> 
         <span class="keyword">type</span> 
         <a href="Ocamlary-module-type-IncludeInclude2.html">IncludeInclude2
         </a>
        </span>
        <span> = <span class="keyword">sig</span> ... 
         <span class="keyword">end</span>
        </span>
       </code>
      </div>
     </div>
     <div class="odoc-spec">
      <div class="spec module anchored" id="module-IncludeInclude2_M">
       <a href="#module-IncludeInclude2_M" class="anchor"></a>
       <code>
        <span><span class="keyword">module</span> 
         <a href="Ocamlary-IncludeInclude2_M.html">IncludeInclude2_M</a>
        </span>
        <span> : <span class="keyword">sig</span> ... 
         <span class="keyword">end</span>
        </span>
       </code>
      </div>
     </div>
    </details>
   </div>
   <div class="odoc-include">
    <details open="open">
     <summary class="spec include">
      <code>
       <span><span class="keyword">include</span> 
        <a href="Ocamlary-module-type-IncludeInclude2.html">IncludeInclude2
        </a>
       </span>
      </code>
     </summary>
     <div class="odoc-spec">
      <div class="spec type anchored" id="type-include_include">
       <a href="#type-include_include" class="anchor"></a>
       <code><span><span class="keyword">type</span> include_include</span>
       </code>
      </div>
     </div>
    </details>
   </div>
   <h2 id="indexmodules"><a href="#indexmodules" class="anchor"></a>Trying
     the {!modules: ...} command.
   </h2>
   <p>With ocamldoc, toplevel units will be linked and documented, while
     submodules will behave as simple references.
   </p>
   <p>With odoc, everything should be resolved (and linked) but only 
    toplevel units will be documented.
   </p>
   <ul class="modules">
    <li><a href="Ocamlary-Dep1-X.html"><code>Dep1.X</code></a> </li>
    <li>
     <a href="Ocamlary-IncludeInclude1.html">
      <code>Ocamlary.IncludeInclude1</code>
     </a> 
    </li>
    <li><a href="#"><code>Ocamlary</code></a> 
     <span class="synopsis">This is an <i>interface</i> with <b>all</b>
       of the <em>module system</em> features. This documentation 
      demonstrates:
     </span>
    </li>
   </ul>
   <h4 id="weirder-usages-involving-module-types">
    <a href="#weirder-usages-involving-module-types" class="anchor"></a>
    Weirder usages involving module types
   </h4>
   <ul class="modules">
    <li>
     <a href="Ocamlary-IncludeInclude1-IncludeInclude2_M.html">
      <code>IncludeInclude1.IncludeInclude2_M</code>
     </a> 
    </li><li><a href="Ocamlary-Dep4-X.html"><code>Dep4.X</code></a> </li>
   </ul>
   <h2 id="playing-with-@canonical-paths">
    <a href="#playing-with-@canonical-paths" class="anchor"></a>Playing
     with @canonical paths
   </h2>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-CanonicalTest">
     <a href="#module-CanonicalTest" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-CanonicalTest.html">CanonicalTest</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <p>Some ref to 
    <a href="Ocamlary-CanonicalTest-Base_Tests-C.html#type-t">
     <code>CanonicalTest.Base_Tests.C.t</code>
    </a> and 
    <a href="Ocamlary-CanonicalTest-Base-List.html#val-id">
     <code>CanonicalTest.Base_Tests.L.id</code>
    </a>. But also to 
    <a href="Ocamlary-CanonicalTest-Base-List.html">
     <code>CanonicalTest.Base.List</code>
    </a> and 
    <a href="Ocamlary-CanonicalTest-Base-List.html#type-t">
     <code>CanonicalTest.Base.List.t</code>
    </a>
   </p>
   <h2 id="aliases"><a href="#aliases" class="anchor"></a>Aliases again</h2>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Aliases">
     <a href="#module-Aliases" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Aliases.html">Aliases</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div><div class="spec-doc"><p>Let's imitate jst's layout.</p></div>
   </div>
   <h2 id="section-title-splicing">
    <a href="#section-title-splicing" class="anchor"></a>Section title
     splicing
   </h2><p>I can refer to</p>
   <ul>
    <li><code>{!section:indexmodules}</code> : 
     <a href="#indexmodules" title="indexmodules">Trying the {!modules:
       ...} command.
     </a>
    </li>
    <li><code>{!aliases}</code> : 
     <a href="#aliases" title="aliases">Aliases again</a>
    </li>
   </ul><p>But also to things in submodules:</p>
   <ul>
    <li><code>{!section:SuperSig.SubSigA.subSig}</code> : 
     <a href="Ocamlary-module-type-SuperSig-module-type-SubSigA.html#subSig">
      <code>subSig</code>
     </a>
    </li>
    <li><code>{!Aliases.incl}</code> : 
     <a href="Ocamlary-Aliases.html#incl"><code>incl</code></a>
    </li>
   </ul><p>And just to make sure we do not mess up:</p>
   <ul>
    <li><code>{{!section:indexmodules}A}</code> : 
     <a href="#indexmodules" title="indexmodules">A</a>
    </li>
    <li><code>{{!aliases}B}</code> : <a href="#aliases" title="aliases">B</a>
    </li>
    <li><code>{{!section:SuperSig.SubSigA.subSig}C}</code> : 
     <a href="Ocamlary-module-type-SuperSig-module-type-SubSigA.html#subSig"
      title="subSig">C
     </a>
    </li>
    <li><code>{{!Aliases.incl}D}</code> : 
     <a href="Ocamlary-Aliases.html#incl" title="incl">D</a>
    </li>
   </ul>
   <h2 id="new-reference-syntax">
    <a href="#new-reference-syntax" class="anchor"></a>New reference 
    syntax
   </h2>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-M">
     <a href="#module-type-M" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-M.html">M</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-M">
     <a href="#module-M" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-M.html">M</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div><p>Here goes:</p>
   <ul>
    <li><code>{!module-M.t}</code> : 
     <a href="Ocamlary-M.html#type-t"><code>M.t</code></a>
    </li>
    <li><code>{!module-type-M.t}</code> : 
     <a href="Ocamlary-module-type-M.html#type-t"><code>M.t</code></a>
    </li>
   </ul>
   <div class="odoc-spec">
    <div class="spec module anchored" id="module-Only_a_module">
     <a href="#module-Only_a_module" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <a href="Ocamlary-Only_a_module.html">Only_a_module</a>
      </span>
      <span> : <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <ul>
    <li><code>{!Only_a_module.t}</code> : 
     <a href="Ocamlary-Only_a_module.html#type-t">
      <code>Only_a_module.t</code>
     </a>
    </li>
    <li><code>{!module-Only_a_module.t}</code> : 
     <a href="Ocamlary-Only_a_module.html#type-t">
      <code>Only_a_module.t</code>
     </a>
    </li>
    <li><code>{!module-Only_a_module.type-t}</code> : 
     <a href="Ocamlary-Only_a_module.html#type-t">
      <code>Only_a_module.t</code>
     </a>
    </li>
    <li><code>{!type:Only_a_module.t}</code> : 
     <a href="Ocamlary-Only_a_module.html#type-t">
      <code>Only_a_module.t</code>
     </a>
    </li>
   </ul>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-TypeExt">
     <a href="#module-type-TypeExt" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-TypeExt.html">TypeExt</a>
      </span>
      <span> = <span class="keyword">sig</span> ... 
       <span class="keyword">end</span>
      </span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type anchored" id="type-new_t">
     <a href="#type-new_t" class="anchor"></a>
     <code><span><span class="keyword">type</span> new_t</span>
      <span> = </span><span>..</span>
     </code>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec type extension anchored" id="extension-decl-C">
     <a href="#extension-decl-C" class="anchor"></a>
     <code>
      <span><span class="keyword">type</span> <a href="#type-new_t">new_t</a>
        += 
      </span>
     </code>
     <ol>
      <li id="extension-C" class="def variant extension anchored">
       <a href="#extension-C" class="anchor"></a>
       <code><span>| </span><span><span class="extension">C</span></span>
       </code>
      </li>
     </ol>
    </div>
   </div>
   <div class="odoc-spec">
    <div class="spec module-type anchored" id="module-type-TypeExtPruned">
     <a href="#module-type-TypeExtPruned" class="anchor"></a>
     <code>
      <span><span class="keyword">module</span> 
       <span class="keyword">type</span> 
       <a href="Ocamlary-module-type-TypeExtPruned.html">TypeExtPruned</a>
      </span>
      <span> = <a href="Ocamlary-module-type-TypeExt.html">TypeExt</a>
        <span class="keyword">with</span> 
       <span><span class="keyword">type</span> 
        <a href="Ocamlary-module-type-TypeExt.html#type-t">t</a> := 
        <a href="#type-new_t">new_t</a>
       </span>
      </span>
     </code>
    </div>
   </div>
   <h2 id="unresolved-references">
    <a href="#unresolved-references" class="anchor"></a>Unresolved references
   </h2>
   <ul><li><code>Stdlib.Invalid_argument</code></li>
    <li><code>Hashtbl.t</code></li><li><code>Set.S.empty</code></li>
    <li><code>CollectionModule.InnerModuleA.foo</code></li>
   </ul>
  </div>
 </body>
</html>
